#include <stdio.h>
#include <string.h>

int main()
{
    // char s[10] = {'h','e','l','l','o'};
    // char s[10] =" hello"; //字符数组
    // const char *s1 =" hello";   //常量字符串指针
    //*s1 = 'q';
    // *s = 'q';

    // s = "nihao";
    // s1 = "nihao";
    // %s 输出一个字符串

    // 判断一个字符串的结束会有终止符号    \0
    // char s[] = "hello";
    // char s[] = "hello";

    //strlen : 计算字符串长度，不带\0
    // printf("%ld\n", strlen(s));
    // printf("%ld\n", sizeof(s));
    
    //strcmp : 字符串比较
    // 0 ：相等
    // printf("%d\n", strcmp(s,s1));

    // 字符串的拷贝 strcoy
    // char s[3] = {0};
    // char s1[] = "hello";
    // strcpy(s,s1);
    // printf("%s\n",s);
    
    // printf("%ld\n",strlen(s));

    // strncpy(s,s1,sizeof(s)-1);
    // printf("%s\n",s);

    // 字符串的拼接 strcat strncat
    // char s[10] = "hello";
    // char *s2= "worldqqqq";
    // strncat(s,s2, sizeof(s) - strlen(s) -1);
    // printf("%s\n",s);

    // 字符串切割 : 先对字符串进行拷贝，拷贝完之后再进行切割
    // 原因：该函数会改变原字符串
    // char s[]="zhangsan, lisi, wangwu";
    // // strtok(s,",");
    // char *dest = strtok(s,",");
    // while( dest != NULL)
    // {
    //     printf("%s\n",dest);
    //     dest = strtok(NULL,",");
    // }
    // // 返回值为空，切割结束，反之，返回被切割的字符串的首地址
    // if(dest != NULL)
    // {
    //     printf("%s\n",dest);
    // }

    // dest = strtok(NULL,",");
    // dest = strtok(NULL,",");

    // 字符串匹配函数 strstr
    //返回值 NULL : 没匹配上
    //       在原字符串中匹配上目标字符串的位置
    // const char *s1 = "helloworld";
    // const char *s2 = "world";
    // char *dest = strstr(s1,s2);
    // printf("%p %p\n",s1,dest);
    
     return 0;
}